<script>
	import {
		code2session
	} from '@/api/currency.js';
	import str from '@/util/uuid.js'
	// import {
	// 	dataReportFun
	// } from '@/util/dataReport.js'
	export default {
		data: {
			number: 0
		},
		methods: {
			getOpenid() {
				if (!uni.getStorageSync('wxInfo')) {
					uni.login({
						provider: 'weixin',
						success: (loginRes) => {
							const code = loginRes.code;
							// 将 code 发送到你的服务器
							code2session({
								code: code
							}).then(res => {
								uni.setStorageSync('wxInfo', res.data.info);
								if (res?.code != 200) {
									uni.showModal({
										title: '获取openid失败',
										content: '退出小程序重新进入，或者联系客服'
									})
									if (this.number == 5) {
										dataReportFun({
											event: "client.report_error",
											ext: '{}',
											content: '获取5次openid失败'
										})
									}
								}
							}).catch(err => {
								uni.showModal({
									title: '获取openid失败',
									content: '退出小程序重新进入，或者联系客服'
								})
								if (this.number == 5) {
									dataReportFun({
										event: "client.report_error",
										ext: '{}',
										content: '获取5次openid失败'
									})
								}
							})
						}
					});
					if (this.number < 5) {
						this.number++;
						this.getOpenid();
					}
				} else {
					this.number = 0;
				};
			}
		},
		onLaunch: function() {

			// 从本地缓存获取
			let clientId = uni.getStorageSync('wClientId');
			if (!clientId) {
				// 写入缓存
				uni.setStorageSync('wClientId', str.uuid());
			}

			// #ifdef MP-WEIXIN
			this.getOpenid();
			// #endif
		},
		onShow: function() {

			// 进入程序，一般是热启动，程序进程还在的时候，重新唤起应用
			// dataReportFun({
			// 	event: "client.enter"
			// })

			// #ifdef MP-WEIXIN
			//返回全局唯一的版本更新管理器对象： updateManager，用于管理小程序更新
			const updateManager = uni.getUpdateManager();

			if (updateManager) {
				//当新版本下载完成，会进行回调
				updateManager.onUpdateReady(function(res) {
					uni.showModal({
						title: '更新提示',
						content: '新版本已经准备好，是否重启应用？',
						showCancel: true,
						success(res) {
							if (res.confirm) {
								//清空本地数据
								uni.clearStorageSync();
								//调用该方法会强制当前uni-app应用上新版本并重启
								updateManager.applyUpdate();
							}
						}
					});
				});
				//当新版本下载失败，会进行回调 
				updateManager.onUpdateFailed(function() {
					uni.showModal({
						title: '新版本了已上线',
						content: '新版本已经上线啦~，请您删除当前小程序，重新搜索打开~'
					})
				})
			}
			// #endif
		},
		onHide: function() {
			console.log('App Hide')
		}
	}
</script>

<style lang="scss">
	/*每个页面公共css */
	@import "uview-plus/index.scss";
	@import "@/static/css/theme.scss";
</style>